home *** CD-ROM | disk | FTP | other *** search
- /*
- * XFunctions.h
- *
- * Written By: Brian Powell
- * (c) 1991, All Rights Reserved.
- *
- * This is the header file for the External Functions. This contains all of the function
- * prototypes contained in the external module library.
- *
- */
-
- #define EXTERNAL_FUNCTION_LIBRARY_VERSION_NUM 0x00101
-
- /* Define messages to and from Imagic. */
-
- #define INITIALIZE 0
- #define MENU_ITEM 100
- #define SHUT_DOWN 200
-
- #ifndef TRUE
- #define TRUE 1
- #endif
- #ifndef FALSE
- #define FALSE 0
- #endif
- #ifndef NIL
- #define NIL 0L
- #endif
- /* Type Definitions for any variables we may need. */
-
- typedef Handle ImageHandle, **ImageList;
- typedef unsigned char PixelVal, *PixelValPtr;
- typedef double ScaledVal, *ScaledValPtr;
- typedef struct {
- int Version; /* Version of the External Module Library */
- Boolean Filter; /* If your function is a filter, TRUE */
- int NumOfImages; /* The Number of Images you need in order to work. */
- int dummy1; /* Not Implemented. */
- int dummy2; /* Not Implemented. */
- int dummy3; /* Not Implemented. */
- int dummy4; /* Not Implemented. */
- int dummy5; /* Not Implemented. */
- int dummy6; /* Not Implemented. */
- int dummy7; /* Not Implemented. */
- } InitStruct;
-
- /* Function Prototypes to Imagic */
-
- /* Image Functions */
- pascal ImageHandle NewBlankImage(StringPtr, int, int, Boolean, Point*, Point*, short);
- pascal ImageHandle CopyImage(ImageHandle);
- pascal Boolean BeginImageWork(ImageHandle, Boolean);
- pascal void EndImageWork(ImageHandle);
- pascal void GetImageSize(ImageHandle, int*, int*);
- pascal int GetPixVal(ImageHandle, int, int);
- pascal void SetPixVal(ImageHandle, int, int, PixelVal);
- pascal void GetPixLineVal(ImageHandle, PixelValPtr*, int, int);
- pascal void SetPixLineVal(ImageHandle, PixelValPtr, int, int);
- pascal void PixToScaledVal(ImageHandle, PixelValPtr, ScaledValPtr*);
- pascal void ScaledValToPix(ImageHandle, ScaledValPtr, PixelValPtr*);
- pascal ImageHandle GetTopImage();
- pascal StringPtr GetImageName(ImageHandle);
- pascal void EraseImage(ImageHandle);
- pascal void DisposImage(ImageHandle);
- pascal void GetImageGeography(ImageHandle, Point*, Point*, short*);
- pascal void PixToLatLon(ImageHandle, int, int, double*, double*);
- pascal void LatLonToPix(ImageHandle, double, double, int*, int*);
- pascal void CopyCTable(ImageHandle, ImageHandle);
-
- /* User Interface Functions. */
- pascal Boolean CreateProgressDialog(StringPtr, int);
- pascal Boolean UpdateProgressDialog(int);
- pascal void DisposProgressDialog();
- pascal int CreateDialog(StringPtr, StringPtr, StringPtr, StringPtr, Boolean);
- pascal void MessageDialog(StringPtr, Boolean);
- pascal ImageHandle **GetImageList(int, int, StringPtr, int*);
- pascal int GetVersion();
- pascal Boolean TextFilter(DialogPtr, EventRecord*, int*);
- pascal void PlaceWindow(WindowPtr, int, int);
- pascal void OutlineButton(DialogPtr, int);
-
- /* Memory Functions */
- pascal Handle CreateNewHandle(Size);
- pascal Ptr CreateNewPtr(Size);
- pascal void DestroyHandle(Handle);
- pascal void DestroyPtr(Ptr);
-
- /* XFunction Prototypes */
- pascal OSErr Initialize(InitStruct*);
- pascal OSErr ExecuteMenu();
- pascal OSErr Exit();
-
- /* Projection Types
- */
-
- enum {
- LINEAR = 1,
- MERCATOR,
- POLAR,
- SPHERICAL,
- QLSC,
- CONIC,
- LAMBERT,
- ORTHOGRAPHIC,
- EQUIDISTANT
- };
-